package artid.com.arttogoa.view;

import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;

public class MicView extends View {
	private Bitmap bmp;
	private Paint paint;
	private Context context;
	/** 画笔 */
	private Paint mPaint;

	public MicView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub

	}

	public MicView(Context context, AttributeSet attrs) {
		super(context, attrs);
		mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
		this.context = context;
		this.paint = new Paint();
		this.paint.setAntiAlias(true); // 消除锯齿
		this.paint.setStyle(Paint.Style.STROKE); // 绘制空心圆
		// TODO Auto-generated constructor stub
	}

	public MicView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		// TODO Auto-generated constructor stub
	}

	private int circleX;
	private int circleY;

	public void setToUpdate(Bitmap bmp, int circleX, int circleY) {
		this.bmp = bmp;
		this.circleX = circleX;
		this.circleY = circleY;
		invalidate();
	}

	@SuppressLint("DrawAllocation")
	@Override
	protected void onDraw(Canvas canvas) {
		// TODO Auto-generated method stub
		super.onDraw(canvas);
		// System.out.println("micw = " + this.getWidth() + ",mich="
		// + this.getHeight());
		if (bmp != null) {
			// System.out.println("bmp不为空");
			// this.setVisibility(View.VISIBLE);
			Matrix matrix = new Matrix();
			canvas.drawBitmap(bmp, matrix, mPaint);

			// int center = getWidth() / 2;
			int innerCircle = dip2px(context, 5); // 设置内圆半径
			int ringWidth = dip2px(context, 1); // 设置圆环宽度

			// 绘制内圆
			this.paint.setARGB(155, 230, 0, 0);
			this.paint.setStrokeWidth(2);
			canvas.drawCircle(circleX, circleY, innerCircle, this.paint);
			// 绘制圆环
			this.paint.setARGB(155, 230, 0, 0);
			this.paint.setStrokeWidth(ringWidth);
			canvas.drawCircle(circleX, circleY,
					innerCircle + 1 + ringWidth / 2, this.paint);
			// 绘制外圆3333333333e3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
			this.paint.setARGB(155, 230, 0, 0);
			this.paint.setStrokeWidth(2);
			canvas.drawCircle(circleX, circleY, innerCircle + ringWidth,
					this.paint);

		} else {
			// System.out.println("bmp为空");
			// this.setVisibility(View.GONE);
		}
	}

	/**
	 * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
	 */
	public static int dip2px(Context context, float dpValue) {
		final float scale = context.getResources().getDisplayMetrics().density;
		return (int) (dpValue * scale + 0.5f);
	}
}
